package com.atguigu.gmall.all.controller;

import com.atguigu.gmall.cart.client.CartInfoFeignClient;
import com.atguigu.gmall.model.cart.CartInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

/**
 * @author 李旭
 * @date 2021/11/26 15:31
 * @Description:
 */
@Controller
public class CartInfoController {


    @Autowired
    private CartInfoFeignClient cartInfoFeignClient;

    //加入购物车   核心：+
    @GetMapping ("/addCart.html")
    public String addCart(Long skuId, Integer skuNum, RedirectAttributes redirectAttributes){
        //加入购物车
       cartInfoFeignClient.addCart(skuId, skuNum);
        //在重定向情况下 使用下面方式传递参数  SpringMVC框架提供的方法
        redirectAttributes.addAttribute("pid",skuId);
        redirectAttributes.addAttribute("pc",skuNum);
        //加成功之后  重定向到显示加入购物车成功页面
        return "redirect:http://cart.gmall.com/toCart.html";
    }
    //显示加入购物车成功页面  核心 ： 查
    @GetMapping ("/toCart.html")
    public String addCart(Long pid, Integer pc, Model model){
        //查询购物车
        CartInfo cartInfo = cartInfoFeignClient.toCart(pid);
        //修改加入购物车数量
        cartInfo.setSkuNum(pc);
        model.addAttribute("cartInfo",cartInfo);
        //跳转显示成功页面
        return "cart/addCart";
    }
    //去购物车结算
    @GetMapping("/cart.html")
    public String cart(){
        return "cart/index";
    }

}
